@RequestMapping
、@GetMapping
和 @PostMapping
都是 Spring 框架 Controller 內用於處理 HTTP 請求的注解,但它們在用法上有一些區別:
@RequestMapping
是一個通用的注解,它可以用於處理各種類型的 HTTP 請求,包括 GET、POST、PUT、DELETE 等。@Controller
public class HelloController {
@RequestMapping(value = "/endpoint", method = RequestMethod.GET)
public ModelAndView helloWorld() {
ModelAndView modelAndView = new ModelAndView("helloView");
return modelAndView;
}
}
@GetMapping
是一個特定於 GET 請求的簡化版本的 @RequestMapping
。@PostMapping
是一個特定於 POST 請求的簡化版本的 @RequestMapping
。總之,這些注解之間的主要區別在於它們處理的 HTTP 請求類型。@RequestMapping
是最通用的,可以處理所有類型的請求,而 @GetMapping
和 @PostMapping
則是對 GET 和 POST 請求的簡化版本,使程式碼更加清晰和具有語義。我們可以根據不同需求選擇適當的注解,以便清晰地定義和處理不同類型的請求。
https://www.baeldung.com/spring-new-requestmapping-shortcuts
https://www.javaguides.net/2018/11/spring-getmapping-postmapping-putmapping-deletemapping-patchmapping.html